home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / programs_-_include / ASM-M68K / ATARI_AC.{26 < prev    next >
Text File  |  1999-09-17  |  1KB  |  38 lines

  1. #ifndef _ASM_ATARI_ACSI_H
  2. #define _ASM_ATARI_ACSI_H
  3.  
  4. /* Functions exported by drivers/block/acsi.c */
  5.  
  6. void acsi_delay_start( void );
  7. void acsi_delay_end( long usec );
  8. int acsi_wait_for_IRQ( unsigned timeout );
  9. int acsi_wait_for_noIRQ( unsigned timeout );
  10. int acsicmd_nodma( const char *cmd, int enable);
  11. int acsi_getstatus( void );
  12. int acsi_extstatus( char *buffer, int cnt );
  13. void acsi_end_extstatus( void );
  14. int acsi_extcmd( unsigned char *buffer, int cnt );
  15.  
  16. /* The ACSI buffer is guarantueed to reside in ST-RAM and may be used by other
  17.  * drivers that work on the ACSI bus, too. It's data are valid only as long as
  18.  * the ST-DMA is locked. */
  19. extern char *acsi_buffer;
  20. extern unsigned long phys_acsi_buffer;
  21.  
  22. /* Utility macros */
  23.  
  24. /* Send one data byte over the bus and set mode for next operation
  25.  * with one move.l -- Atari recommends this...
  26.  */
  27.  
  28. #define DMA_LONG_WRITE(data,mode)                            \
  29.     do {                                                    \
  30.         *((unsigned long *)&dma_wd.fdc_acces_seccount) =     \
  31.             ((data)<<16) | (mode);                            \
  32.     } while(0)
  33.  
  34. #define ENABLE_IRQ()    atari_turnon_irq( IRQ_MFP_ACSI )
  35. #define DISABLE_IRQ()    atari_turnoff_irq( IRQ_MFP_ACSI )
  36.  
  37. #endif /* _ASM_ATARI_ACSI_H */
  38.